package com.av.client.components;

import com.av.db.dataobjects.enums.Rol;

/**
 * Interfaz que permite la administracion de permisos de sus componentes
 * 
 * @author Victor J Morales R
 * 
 */
public interface AvComponent {

	/**
	 * Agrega permiso para el rol definido
	 * 
	 * @param rol
	 */
	public void addPermiso(Rol rol);

	/**
	 * Elimina permiso para el rol definido
	 * 
	 * @param rol
	 */
	public void removePermiso(Rol rol);

	/**
	 * Funcion que carga todos los permisos registrados en el sistema
	 */
	public void loadPermisos();

	/**
	 * Define si dicho rol tiene permisos sobre el componente
	 * 
	 * @param rol
	 * @return
	 */
	public boolean contains(Rol rol);
}// AvComponent